const DvLayout = {
    LayoutStatus: {
        "TILING" : "layout-tiling",
        "TILED" : "layout-tiled",
        "DISPERSING": "layout-dispersing",
        "DISPERSED": "layout-dispersed"
    },
    FocusStatus: {
        "FOCUSING": "layout-focusing",
        "FOCUSED": "layout-focused",
        "FOCUSING_OUT": "layout-focusing-out",
        "FOCUSED_OUT": "layout-focused-out"
    },
    Mutations: {
        "SET_LAYOUT_STATUS": "setLayoutStatus",
        "SET_FOCUS_STATUS": "setFocusStatus"
    },
    Actions: {
        "TILE": "tile",
        "DISPERSE": "disperse",
        "FOCUS": "focus",
        "FOCUS_OUT": "focusOut"
    }
}
const DvTheme = {
    Themes: {
        PRIMARY: "dv-global-theme-primary",
        INFO: "dv-global-theme-info",
        SUCCESS: "dv-global-theme-success",
        WARNING: "dv-global-theme-warning",
        DANGER: "dv-global-theme-danger",
        DARK: "dv-global-theme-dark",
        METAL: "dv-global-theme-metal"
    },
    Active: {
        IDLE: "dv-global-idle",
        IDLE_ING: "dv-global-idle-ing",
        ACTIVE: "dv-global-active",
        ACTIVE_ING: "dv-global-active-ing"
    },
    Mutations: {
        "SET_MAIN_THEME": "setMainTheme",
        "SET_ACTIVE_STATUS": "setActiveStatus"
    },
    Actions: {
        "PRIMARY": "makeGlobalThemePrimary",
        "INFO": "makeGlobalThemeINFO",
        "SUCCESS": "makeGlobalThemeSuccess",
        "WARNING": "makeGlobalThemeWarning",
        "DANGER": "makeGlobalThemeDanger",
        "DARK": "makeGlobalThemeDark",
        "METAL": "makeGlobalThemeMetal",

        "IDLE": "makeGlobalIdleStatusIdle",
        "ACTIVE": "makeGlobalIdleStatusActive"
    }
}

const getDuration = () => {
    let durationStr = getComputedStyle(document.documentElement)
        .getPropertyValue("--dv-animation-duration")
    return parseInt(durationStr)
}

export {
    DvLayout,
    DvTheme,
    getDuration
}
